home *** CD-ROM | disk | FTP | other *** search
/ Precision Software Appli…tions Silver Collection 4 / Precision Software Applications Silver Collection Volume 4 (1993).iso / stats / chadyn.exe / YCOMD.C < prev    next >
Text File  |  1988-12-08  |  4KB  |  163 lines

  1.  
  2. /********************************  YCOMD.C  **********************************/
  3. /************************* DISK COMMANDS AND MENU ****************************/
  4. /********************* (C) 1986,7,8 by JAMES A. YORKE ************************/
  5.  
  6.  
  7. #include "yinclud.h"
  8. /*#define DEBUG*/
  9.  
  10. int     caseDs(CodeName)
  11. char    *CodeName;
  12. {
  13.  /* for terminating a command without changing values by entering '\n' */
  14.     char    name[80];
  15.     FILE *fff;    /* for DD */
  16.  
  17. #ifdef DEBUG
  18.     fprintf(stderr, "caseDs(%s)\n", CodeName);
  19.     pause(0.5);
  20. #endif
  21.     TEST("afd") {
  22.         fetchPic(YES);    /* yes means add to what is already there */
  23.         return(1);
  24.     }
  25.     TEST("dd") {
  26.         NameDDfile();
  27.         fff = fopen(DDfile, "w");/* Opens file for reading input */
  28.         DumpData(fff);
  29.         fclose(fff);
  30.         if(level < PROCESS)
  31.             MainMenu();
  32.         erase_line();
  33.  
  34.         PRINT
  35.             "\n   DATA HAS BEEN STORED IN DISK FILE: %s \n\n", DDfile);
  36.         return(1);
  37.     }
  38.     TEST("dn") {
  39.         if(SCREEN) {
  40.             erase_line();
  41.             PRINT
  42.                 "\nThe disk file Name for storing the picture + data is currently: %s      \n",
  43.                 DiskFileName);
  44.             erase_line();
  45.             PRINT "Enter new file name:  ");
  46.             if (abortEnter() == YES)/* for terminating a command 
  47.                 without changing values by entering '\n' */
  48.                 return(1);
  49.         }
  50. #ifdef X11
  51.         if(input == StInput)
  52.             (void) strcpy(name, xwfgets());
  53.         else
  54.             (void) fscanf(input, "%s", name);
  55. #else
  56.         fscanf(input, "%s", name);
  57. #endif
  58.  
  59.         if(name[0] != '\0' && name[0] != ' ' && name[0] != '\n') {
  60.                 /* don't copy a trivial string into
  61.                    DiskFileName */
  62.             (void) strcpy(DiskFileName, name);
  63.             picNameFlag = NO;
  64.                 /* indicates name has been changed and this
  65.                    file has not been accessed; */
  66.         }
  67.         if(SCREEN)
  68.             PRINT
  69.                 "\nCurrent picture file name now is:  %s   \n\n"
  70.                 ,DiskFileName);
  71.         return(1);
  72.     }
  73.     TEST("fd") {
  74.         fetchPic(NO);    /* fetch pic from disk, replace, NOt adding */
  75.         return(1);
  76.     }
  77.     TEST("td") {
  78.         td();        /* 4 color planes contains DumpData */
  79.         return(1);
  80.     }
  81.     TEST("td0") {
  82.         td0();        /* monochrome storage -- contains DumpData */
  83.         return(1);
  84.     }
  85.     TEST("tdfreq") {
  86.         if(SCREEN)
  87.             if(printer >= 1) {
  88.                 erase_line();
  89.                 PRINT
  90.                     "This feature is turned off(set to 0) whenever the screen is cleared, as \n");
  91.                 erase_line();
  92.                 PRINT
  93.                     "happens with command \"T\" but not with \"RT\".\n\n");
  94.                 PRINT
  95.                     "Enter the number of dots computed between disk stores of the picture \n");
  96.                 PRINT
  97.                     "    (or for basin calculations the number of vertical lines)\n");
  98.             }
  99.         TDFreq = (long) Entervalue((double) TDFreq, CHECKSET);
  100.         return(1);
  101.     }
  102.     TEST("tdtime") {    /* set minutes between saving picture to disk 
  103.                 */
  104.         if(SCREEN)
  105.             if(printer >= 1) {
  106.                 erase_line();
  107.                 PRINT
  108.                     "This feature is turned off(set to 0) whenever the screen is cleared, as \n");
  109.                 erase_line();
  110.                 PRINT
  111.                     "happens with command \"T\" but not with \"RT\".\n\n");
  112.                 PRINT
  113.                     "Enter the seconds between disk stores of the picture while computing\n");
  114.             }
  115.         setTDTime();    /* in Y.C */
  116.         return(1);
  117.     }
  118.     TEST("tdwp") {
  119.         disk = 1 - disk;
  120.         return(1);
  121.     }
  122.     return(0);
  123. }
  124.  
  125. diskMenu() {
  126.     NameDDfile();
  127.     if(level == SETPARAM)
  128.         scr_clr();    /* in desmets pcio.a */
  129.     scr_rowcol(2, 0);
  130.     PRINT
  131.         "            MENU OF DISK FILE COMMANDS\n\n");
  132.     PRINT
  133.         "Current disk file name for sending or getting pictures and data: %s \n"
  134.         ,DiskFileName);
  135.     PRINT
  136.         "DN:  (Disk Name) to change this file name\n");
  137.     PRINT
  138.         "          The following 5 commands use that file\n");
  139.     PRINT
  140.         "FD:  to read picture From the Disk File into core; follow with RT,PS, etc\n");
  141.     PRINT
  142.         "AFD: Add picture From Disk file into core picture; follow with RT or PS, etc"
  143.         );
  144.     PRINT "\n");
  145.     PRINT
  146.         "TD:  (To  Disk)  sends last picture with parameters To the  Disk file now\n"
  147.         );
  148.     PRINT
  149.         "TDFREQ: TD is called automatically every  %ld dots(=0 means not set)\n",
  150.         TDFreq);
  151.     PRINT
  152.         "TDTIME: disk save freq. (in minutes)=%lf(=0 means not set)\n\n", TDTime);
  153.     PRINT
  154.         "DD:  Dumps Data only to Disk file %s(same as above name but ends in \n"
  155.         ,DDfile);
  156.     PRINT
  157.         "     .DD)   This file is for storing Process name + values of \n");
  158.     PRINT
  159.         "     most constants and vectors.  Start program using DOS line \n");
  160.     PRINT
  161.         " DYNAMICS %s                      to reproduce this state\n\n", DDfile);
  162. }
  163.